home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-19 / iritsm3s.zip / INTR_GR.H < prev    next >
C/C++ Source or Header  |  1992-01-26  |  5KB  |  133 lines

  1. /******************************************************************************
  2. * MSDOS interaction library low level graphics routines.              *
  3. *                                          *
  4. *                    Written by Gershon Elber,  Oct. 1990  *
  5. *******************************************************************************
  6. * Supported device:                                  *
  7. * 1. CGA.                                      *
  8. * 2. EGA/VGA.                                      *
  9. * 3. Hercules.                                      *
  10. * 4. Super VGA.                                      *
  11. *******************************************************************************
  12. * History:                                      *
  13. *  15 Oct 90 - Version 1.0 by Gershon Elber.                      *
  14. ******************************************************************************/
  15.  
  16. #ifndef INTR_GR_H
  17. #define INTR_GR_H
  18.  
  19. #define GR_SOLID_FILL 1
  20.  
  21. typedef enum {        /* Line styles for Get/SetLineStyle. */
  22.     GR_SOLID_LINE  = 0,
  23.     GR_DOTTED_LINE = 1,
  24.     GR_DASHED_LINE = 3
  25. } GRLineStypeType;
  26.  
  27. typedef enum {        /* Line widths for Get/SetLineStyle. */
  28.     GR_NORM_WIDTH  = 1,
  29.     GR_THICK_WIDTH = 3
  30. } GRLineWidthType;
  31.  
  32. typedef enum {
  33.     GR_HORIZ_DIR = 0,    /* Left to right. */
  34.     GR_VERT_DIR  = 1    /* Bottom to top. */
  35. } GRTextDirType;
  36.  
  37. typedef enum {
  38.     GR_TEXT_HJUSTIFY_LEFT = 0,
  39.     GR_TEXT_HJUSTIFY_CENTER,
  40.     GR_TEXT_HJUSTIFY_RIGHT
  41. } GRTextHorizJustifyType;
  42.  
  43. typedef enum {
  44.     GR_TEXT_VJUSTIFY_BOTTOM = 0,
  45.     GR_TEXT_VJUSTIFY_CENTER,
  46.     GR_TEXT_VJUSTIFY_TOP
  47. } GRTextVertJustifyType;
  48.  
  49. typedef enum {
  50.     GR_FONT_DEFAULT = 0
  51. } GRFontType;
  52.  
  53. typedef enum {
  54.     GR_TEXT_MAG_1 = 1
  55. } GRTextmagnificationType;
  56.  
  57. typedef enum {
  58.     GR_COPY_PUT = 0,
  59.     GR_XOR_PUT = 1
  60. } GRWriteModeType;
  61.  
  62. extern int GRScreenMaxX, GRScreenMaxY;  /* The maximum resolution of screen. */
  63. extern int GRScreenMaxColors;          /* The maximum # of colors available. */
  64. extern IntrRType GRScreenAspect;/* Screen aspect ratio (pixel width/height). */
  65. extern int GRFontName, GRFontSize;     /* Global information on font used. */
  66. extern int GRCurrentCursorX, GRCurrentCursorY;   /* Cursor current position. */
  67. extern int GRDrawText;           /* If can not zoom down text, force draw. */
  68. extern int GRGraphMode, GRGraphDriver;        /* What driver/mode are we in. */
  69.  
  70. void GRInstallSVGA(char *NameMode);
  71. void GRSetBGIPath(char *BGIPath);
  72. void GRSetDefaultDriver(int GraphDriver);
  73.  
  74. void GRInitGraph(void);
  75. void GRCloseGraph(void);
  76. void GRPutArrowCursor(int x, int y);
  77. void GRSetZoomFactor(int ZoomFactor);
  78. void GRSetPanFactors(int PanFactorX, int PanFactorY);
  79. void GRSetLineStyle(int LineStyle, unsigned int Pattern, int Thickness);
  80. void GRSetFillStyle(int Pattern, int Color);
  81. void GRSetWriteMode(int DrawMode);
  82. void GRSetTextJustify(int HorizCenter, int VertCenter);
  83. void GRSetTextStyle(int GRFontName, int Direction, int Size);
  84. void GRSetSTextStyle(int GRFontName, int Direction, int Size);
  85. unsigned GRGetImageBufferSize(int x1, int y1, int x2, int y2);
  86. void GRGetImageBuffer(int x1, int y1, int x2, int y2, VoidPtr Buffer);
  87. void GRPutImageBuffer(int x1, int y1, VoidPtr Buffer);
  88. void GRXORRectangle(int x1, int y1, int x2, int y2);
  89. int GRMapX(int x);
  90. int GRMapY(int y);
  91. int GRInvMapX(int x);
  92. int GRInvMapY(int y);
  93. void GRLine(int x1, int y1, int x2, int y2);
  94. void GRSLine(int x1, int y1, int x2, int y2);
  95. void GRMoveTo(int x, int y);
  96. void GRSMoveTo(int x, int y);
  97. void GRLineTo(int x, int y);
  98. void GRSLineTo(int x, int y);
  99. void GRMoveRel(int x, int y);
  100. void GRSMoveRel(int x, int y);
  101. void GRLineRel(int x, int y);
  102. void GRSLineRel(int x, int y);
  103. void GRPoly(int n, int *Points, int Fill);
  104. void GRBar(int x1, int y1, int x2, int y2);
  105. void GRSBar(int x1, int y1, int x2, int y2);
  106. void GRCircle(int x, int y, int r);
  107. void GRArc(int x, int y, int StAngle, int EndAngle, int r);
  108. IntrBType GRDrawingText(void);
  109. void GRText(int x, int y, char *s);
  110. void GRSText(int x, int y, char *s);
  111. void GRSTextShadow(int x, int y, int Color, char *s);
  112. int GRGetTextWidth(char *Str);
  113. int GRGetTextHeight(char *Str);
  114. void GRPushTextSetting(void);
  115. void GRPopTextSetting(void);
  116. void GRSetColor(int Color);
  117. int GRGetColor(void);
  118. void GRSetRGBPalette(int Index, int Red, int Green, int Blue);
  119. void GRDrawPoint(int x, int y, char title[], int PointColor);
  120. void GRClearViewPort(int x1, int y1, int x2, int y2);
  121. void GRGetViewPort(int *x1, int *y1, int *x2, int *y2);
  122. void GRSetViewPort(int x1, int y1, int x2, int y2);
  123. void GRPopViewPort(void);
  124. void GRPushViewPort(void);
  125. void GRClearAllScreen(void);
  126. void GRPutMsgXY(char *s, int x, int y);
  127. void GRGetGraphicLine(int WindowID, int x, int y, char s[], int SLen,
  128.               int WindowLen, int ForeColor, int BackColor);
  129. void GRSetGetKeyFunc(IntrInt2PtrFunc GetChFunc);
  130. void GRTone(int Frequency, int Time);
  131.  
  132. #endif /* INTR_GR_H */
  133.